# import time
"""
你的战术是现代的,构思却相当古老.你究竟是什么人?
嚯嚯,虽然一开始只是迷路走进的罗德岛招人处,不过无论是吃食还是床铺皆是上等,薪俸也高,小僧真是来到了一个好地方啊.
纳豆拌饭!六根香蕉!油炸豆腐!
住持爷爷说,要有慈悲之心,小僧也觉得差不多行了.
"""

f = open("text.txt", 'r', encoding="UTF-8")
print(type(f))

# 读取文件
print(f.read(10))
print(f.read())  # 读取全部内容  # 之前读取的位置会得到保留

f.seek(0)  # 参数一 偏移量(字节), 参数二 0: 相对文件起始位置 1: 相对当前位置 2: 相对文件结尾位置
# 读取文件的全部行并封装到列表中
my_list = f.readlines()
print(type(my_list), my_list)

f.seek(0)
line = f.readline()
print(type(line), line)

f.seek(0)
# 使用循环遍历
for line in f:
    print(type(line), line)

# time.sleep(500000)

# 关闭文件
f.close()

# 使用with open语句自动关闭文件
with open("text.txt", 'r', encoding="UTF-8") as f:
    for line in f:
        print(line)

# 写入文件
# w模式每次打开文件都会清空文件
f = open("text.txt", 'w', encoding="UTF-8")
f.write("hello world")
f.close()

# 使用flush刷新数据
f = open("text.txt", 'w', encoding="UTF-8")
f.write("你的战术是现代的,构思却相当古老.你究竟是什么人?\n嚯嚯,虽然一开始只是迷路走进的罗德岛招人处,不过无论是吃食还是床铺皆是上等,薪俸也高,"
        "小僧真是来到了一个好地方啊.\n纳豆拌饭!六根香蕉!油炸豆腐!\n住持爷爷说,要有慈悲之心,小僧也觉得差不多行了.")
f.flush()  # 调用flush()方法才会把write到缓冲区的数据写到硬盘文件中
f.close()  # close()方法内置了flush()

# 文件追加操作
f = open("text.txt", 'a', encoding="UTF-8")
f.write("\nhello!")
f.close()
